package com.learn.base;

import com.learn.emuns.LearnResultEnums;

import java.io.Serializable;

/**
 * 业务层通用响应工具类
 *
 * @author yaoqihui
 * @version 2022/10/17 0017
 * @see [相关类/方法]
 */
public class BusinessResultUtil
{
	private BusinessResultUtil ()
	{

	}

	/**
	 * 构造service响应对象
	 *
	 * @param resultCode 返回码
	 * @param resultMsg  返回描述
	 * @param data       返回数据
	 * @param <T>        支持序列化的泛型
	 * @return 响应对象
	 */
	public static <T extends Serializable> R<T> build (String resultCode, String resultMsg, T data)
	{
		return new R<> (data, resultCode, resultMsg);
	}

	/**
	 * 构造service响应对象
	 *
	 * @param data 返回数据
	 * @param <T>  支持序列化的泛型
	 * @return 响应对象
	 */
	public static <T extends Serializable> R<T> buildSuccess (T data)
	{
		return new R<> (data, LearnResultEnums.SUCCESS.getStatus (), LearnResultEnums.SUCCESS.getErrMsg ());
	}
}
